<?php
/**
 * 商品属性类型管理
 */
class AttrClassModel extends Model{
	public $table ='attr_class';
	public $validate=array(
			array('attr_name','nonull','属性名不能为空',2,3),
			array('show_type','nonull','显示类型不能为空',2,1),
			array('gtid','checkGtid','商品类型ID错误',2,1),
			array('attr_name','checkAttrName','属性名已经存在',2,1)
		);
	//验证商品类型id是否合法
	public function checkGtid($name, $value, $msg){
		$GoodsTypeCache = cache('goodstype');
		if(!array_key_exists($value, $GoodsTypeCache)){
			return $msg;
		}else{
			return true;
		}
	}
	//验证商品属性名不能重复
	public function checkAttrName($name, $value, $msg){
		// if(M('attr_class')->where(array('attr_name'=>$value)->find()){
		// 	return $msg;
		// }else{
		// 	return true;
		// }
		return true;
	}
	//添加属性
	public function addAttr(){
		if($this->create()){
			$acid =$this->add();
			if($acid){
				//添加属性值
				$show_type = Q('show_type');
				$this->$show_type($acid,$_POST['attr_value']);
				return true;
			}else{
				$this->error='添加属性失败...';
				return false;
			}
		}else{
			return false;
		}
	}
	//修改商品属性
	public function editAttr(){
		if($this->create()){
			$acid =$this->save();
			if($acid){
				//添加属性值
				$show_type = Q('show_type');
				M('attr_value')->where(array('acid'=>$acid))->del();
				$this->$show_type($acid,$_POST['attr_value']);
				return true;
			}else{
				$this->error='添加属性失败...';
				return false;
			}
		}else{
			return false;
		}
	}
	// 删除
	public function dorp(){
		$acid=Q('acid',0,'intval');
		if($acid){
			if($this->del("acid=$acid")){
				// $this->updateCache();
				return true;
			}
			return false;
		}else{
			$this->error('删除失败');
		}
	}
	//文本框
	private function input($acid,$data){
		$Db =M('attr_value');
		$insertData=array(
			'acid'=>$acid,
			'attr_value'=>$data[0]
		);
		$Db->add($insertData);
	}
	//下拉列表框
	private function box($acid,$data){
		$Db =M('attr_value');
		foreach($data as $value){
			if(empty($data))continue;
			$insertData=array(
				'acid'=>$acid,
				'attr_value'=>$value
			);
			$Db->add($insertData);
		}
	}
}